/*
	@file: log/include/logger/OStreamLogger.h
	@author: Wolfhead
 */
#ifndef _LOG_OSTREAM_LOGGER_H_
#define _LOG_OSTREAM_LOGGER_H_

#include <boost/thread.hpp>
#include "Logger.h"

namespace logger
{

class OStreamLogger
	: public Logger
{
public:
	OStreamLogger(std::ostream& os = std::cout);

	int log(const std::string& message);

	int log(const Logger::SpliteQueue& message_queue);
	
private:

	std::ostream& m_os;
	boost::mutex m_mutex;
};

} //namespace logger

#endif // #ifndef _LOG_OSTREAM_LOGGER_H_
